This was lifted directly from nullUtil 2.x and was fixed up for the changes in nullUtil 3.x.

This component needs a direct rewrite to introduce more features and optimize the performance of it.